package com.xzcedu.regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author 徐州城
 * @version 1.0
 * 演示正则表达式的使用
 */
public class RegExp11 {
    public static void main(String[] args) {
        //String content = "https://www.bilibili.com/video/BV1fh411y7R8?p=894&spm_id_from=pageDriver";
        String content = "https://www.bilibili.com/blackboard/knowledge2021-8.html?spm_id_from=333.851.b_7265706f7274466972737431.1#MYHPFvF78E1";

        /**
         * 思路
         * 1. 先确定 url的开始部分，https:// | http://
         * 2. 然后通过 ([\w-]+\.)+[\w-]+ 匹配www.bilibili.com
         * 3. /video/BV1fh411y7R8... 匹配
         */
        String regStr = "^((http|https)://)?([\\w-]+\\.)+[\\w-]+(\\/[\\w-=?&/%.#]*)?$";//注意: [.]表示匹配就是.本身
        //                                                     ([\\S])* 也可以
        Pattern pattern = Pattern.compile(regStr);
        Matcher matcher = pattern.matcher(content);

        if (matcher.find()) {
            System.out.println("满足格式");
        } else {
            System.out.println("不满足格式");
        }

        //这里如果使用Pattern的matches 整体匹配 比较简洁
        System.out.println(Pattern.matches(regStr, content));

    }
}
